perm filename PROB[DOC,TOB] blob
sn#010132 filedate 1972-10-15 generic text, type T, neo UTF8
00100
00200 THE PLACES ARE DOOR,TABLE,BOX1,BOX2,OUTSIDE.
00300
00400 THERE ARE NO OBJECTS ON THE TABLE.
00500
00600 THERE ARE ONLY KEYS IN ONE BOX.
00700
00800 THERE ARE ARBITRARY CONTENTS IN THE OTHER BOX.
00900
01000 THERE ARE ONLY RED OBJECTS AT THE DOOR.
01100
01200 THE ROBOT HOLDS ARBITRARY OBJECTS.
01300
01400 THE ROBOT CAN GO TO ANY PLACE BUT
01500 THE ROBOT CAN GO OUTSIDE ONLY IF THE KEY IS AT THE DOOR.
01600
01700 THE ROBOT CAN PICKUP A RANDOM OBJECT AT THE ROBOT'S LOCATION.
01800
01900 THE ROBOT CAN PUTDOWN ANY OBJECT HE HOLDS.
02000
02100 THE ROBOT CAN NOT PERCEIVE.
02200
02300
02400 THE TASK IS TO CARRY A RED OBJECT OUTSIDE.
02500
02600 PLEASE BEGIN.
02700
00100 PROCEDURES
00200
00300 WHEN WE NEED A SUFFICIENT CONDITION, FIND A NECESSARY CONDITION
00400 AND ASSUME IT IS SUFFICIENT
00500
00600 WHEN WE SEE (A CANNOT B) WE SETUP AN ANTECEDENT THEOREM
00700 WHICH FAILS AT (A B).
00800
00900
01000 WHENEVER WE MENTION TWO DIFFERENT NAMES, WE ASSUME UNIQUE.
01100
01200
01300 I WILL WANT TO SET UP A SIMULATION OF THE SITUATION
01400
01500
01600 WE CAN REPRESENT PLACES AS
01700 (DOOR IS PLACE)
01800 (TABLE IS PLACE)
01900 (BOX1 IS PLACE)
02000 (BOX2 IS PLACE)
02100 (OUTSIDE IS PLACE)
02200 I.E., BY EXTENSION.
02300 WE HAVE MORE TROUBLE WITH (NOTHING AT TABLE)
02400 OR (ONLY KEYS AT BOXA)
02500 WE CAN TRANSLATE (ONLY KEYS AT BOXA) AS
02600 TH1 ANTE (PICKUP OBJECT AT BOXA)⊃(ROBOT HOLDS KEY)
02700 TH2 ANTE (PUTDOWN OBJECT AT BOXA)∧(OBJECT NOT KEY)⊃THERASE TH1
02800 TH3 CONSE (ROBOT HOLDS KEY)←(PICKUP OBJECT AT BOXA)
02900 THAT SEEMS ARTIFICIAL. STILL, WE MUST REPRESENT (ONLY KEYS AT BOXA)
03000 AND THE PLANNER MECHANISM MUST BE A THEOREM.
03100 (SELECT OBJECT AT BOXA)→(OBJECT IS KEY)
03200 AND WE CUSTOMARILY REPRESENT THIS AS A CONSEQUENT THEOREM.
03300 THIS BECOMES COMPLICATED IF WE PUTDOWN AN OBJECT AT BOXA, BECAUSE
03400 THEN WE MUST ERASE. INSTEAD, WE PROBABLY WANT A STATE LABEL FOR
03500 EACH OBJECT; THEN THE THEOREMS ARE VALID ONLY FOR THE PARTICULAR STATE
03600 OF THE OBJECT. THIS IS MY TRAJECTORIES SCHEME.
03700 (SELECT OBJECT AT BOXA STATE-A1)→(OBJECT IS KEY)
03800 WHEN WE BRING SOMETHING TO THE PLACE, THEN WE MUST MAKE A NEW STATEMENT
03900 (PUTDOWN OBJ AT BOXA)⊃(BOXA STATE STATE-A2)
04000 (SELECT OBJECT AT BOXA STATE-A2)→(OBJECT IS KEY)∨(OBJECT IS OBJ)
04100 THIS BECOMES A BIT MESSY WITH CONSEQUENT THEOREMS, SO I SUPPOSE THAT
04200 ORDINARY LISP FUNCTIONS WOULD BE GOOD.
04300 IN THAT CASE, WE MUST HAVE ANTECEDANT THEOREMS WHICH TRAP
04400 ON (PICKUP OBJECT AT LOCATION), (PUTDOWN OBJECT AT LOCATION)
04500 AND WHICH MANIPULATE THE OBJECT SETS CORRESPONDINGLY.
04600 NOW WE MUST SPELL OUT THE DATA STRUCTURE OF SETS.
04700 I NOW SUGGEST THAT I REPRESENT THEM NEARLY LIKE EXTENSION.
04800 (BOX1 BOX2 BOX3)
04900 (SET1 SET2 SET3)
05000 (ELEMENT1 SET2 ELEMENT3)
05100 WHERE WE DISTINGUISH BETWEEN ELEMENTS AND SETS BY INDICATORS ON THEIR
05200 PROPERTY LISTS, AND THEY HAVE UNIQUE NAMES (GENSYMS).
05300 IT IS PROBABLE THAT SUCH A SCHEME IS COMPLETELY OUTSIDE THE PLANNER
05400 DATA STRUCTURE AND THUS MAKES NO USE OF PLANNER.
05500 AN ALTERNATIVE WHICH MAKES SOME USE OF PLANNER IS TO HAVE SETS INVOLVED
05600 IN THE PLANNER PATTERNS, AND TO HAVE AN IDENTIFIER ON THE PROPERTY LIST
05700 OF EACH SET.
05800
00100 (PLACES ARE PLACE-SET)
00200 (SETQ PLACE-SET @(DOOR,TABLE,BOX1,BOX2,OUTSIDE))
00300
00400 (TABLE-SET AT TABLE)
00500 (SETQ TABLE-SET NIL)
00600
00700 (BOXA-SET AT BOXA)
00800 (SETQ BOXA-SET @SPECIFIED)
00900 (DEFPROP BOXA-SET KEYS SPECIFIER)
01000
01100 (BOXB-SET AT BOXB)
01200 (SETQ BOXB-SET @ARBITRARY)
01300
01400 (SETQ BOX-SET @(BOX1 BOX2))
01500 (BOXA IN BOX-SET)
01600 (BOXB IN BOX-SET)
01700
01800
01900
02000 (DOOR-SET AT DOOR)
02100 (SETQ DOOR-SET @SPECIFIED)
02200 (DEFPROP DOOR-SET RED SPECIFIER)
02300
02400 (ROBOT HOLDS ROBOT-SET)
02500 (SETQ ROBOT-SET @ARBITRARY)
02600
02700
02800
02900 (ROBOT CANNOT PERCEIVE)
03000
03100 (ROBOT CAN GO TO PLACE-SET)
03200
03300 (ROBOT CAN GO TO OUTSIDE OUT-CONDITION)
03400 (SETQ OUT-CONDITION @(ONLY IF KEY AT DOOR))
03500
03600 (ROBOT CAN PICKUP PICKUP-SET AT ROBOT-LOCATION)
03700
03800 (ROBOT CAN PUTDOWN PUTDOWN-SET)
03900 (SETQ PUTDOWN-SET @(ROBOT HOLDS OBJECT))
04000
04100 (TASK IS CARRY A RED OBJECT OUTSIDE)
04200
04300
00005 SEMANTICS
00010 PLACES ARE IN SOME WORLD OR WORLDS
00015 OBJECTS ARE AT SOME PLACE(UNIQUE, OTHERWISE UNDETERMINED)
00020
00100 (DEFPROP WORLD1 (DOOR TABLE BOX1 BOX2 OUTSIDE) PLACES)
00200
00300 (DEFPROP TABLE (WORLD1) PLACE)
00400 (DEFPROP TABLE NIL OBJECTS)
00500
00600
00700 (DEFPROP DOOR (WORLD1) PLACE)
00800 (DEFPROP DOOR (RED-SET) OBJECTS)
00900 (DEFPROP RED-SET (DOOR) SET)
01000 (DEFPROP RED-SET (RED) PROPERTIES)
01100
01200 (DEFPROP BOX1 (WORLD1) PLACE)
01300
01400
01500
01600
01800 (NULL-SET AT TABLE AT TABLE-0)
01900 (KEY-SET AT BOX-A AT BOXA-0)
02000 (RED-OBJECTS AT DOOR AT DOOR-0)
02100 (DEFPROP GO-OUTSIDE
02200 (THCONSE (ACTOR)
02300 ((THV ACTOR)GO OUTSIDE)
02350 (THPROG ()
02400 (THGOAL (KEY AT DOOR)(THTBF THTRUE))
02500 (THGOAL ((THV ACTOR) GO OUTSIDE
00100 (A AT B IN B0) ;INITIAL STATE, EACH PLACE HAS A STATE
00200 (B0 EQUIVALENT W0) ;EQUIVALENCE OF FRAMES
00300
00400 WITH EACH PLACE, OR OBJECT, THERE IS A SEQUENCE OF FRAMES.
00500 SOME ARE SYNCHRONIZED TO OTHER BODY-CENTERED FRAMES.
00600 EITHER WE MUST STORE AN EVENT WITH EACH RELATED OBJECT
00700 OR WE MUST FIND THE PROBLEM GOAL AND STORE THINGS IN A
00800 MANNER THAT DEPENDS ON THE GOAL.